home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / gnu / othergnu / ms.zoo / crts.s < prev    next >
Text File  |  1990-04-17  |  794b  |  30 lines

  1. #APP
  2. | minimal gcc startup file
  3.     .globl    __stksize
  4.     .globl    __start
  5.     .globl  _main
  6.  
  7.     .even
  8.     .text
  9. __start:
  10.     movl    a7@(4), a5        | Fetch base page pointer
  11.     movl    a5@(24), a1        | Fetch bss base
  12.     addl    a5@(28), a1        | + size of bss
  13. | Allocate stack, a1 points beyond vectors
  14.     addl    __stksize, a1        | Allocate _stksize_ bytes of stack
  15.     movl    a1, a7            | Set the initial stack.
  16. | Release unused memory to the system pool.
  17.     subl    a5, a1            | Compute size of retained memory
  18.     movl    a1, a7@-
  19.     movl    a5, a7@-        | Base of retained memory
  20.     clrw    a7@-            | Must be zero
  21.     movw    #0x4A, a7@-        | Mshrink opcode
  22.     trap    #1            | Gemdos
  23.     lea    a7@(12), a7        | Pop arguments
  24. | Call main() no args passed to main
  25.     subl    a6, a6            | Zero frame pointer
  26.     jbsr    _main            | Call main line
  27. | Exit with return from main
  28.     clrw    a7@-            | Pterm0()
  29.     trap    #1
  30.